HipWorkerPool

Undocumented in source.

Constructors

this
this(size_t poolSize)
Undocumented in source.

Members

Functions

addOnAllTasksFinished
void addOnAllTasksFinished(void delegate() onAllFinished)
Undocumented in source. Be warned that the author may not have intended to support it.
await
void await()
Undocumented in source. Be warned that the author may not have intended to support it.
dispose
void dispose()
Undocumented in source. Be warned that the author may not have intended to support it.
executeMainThreadTasks
void executeMainThreadTasks()
Undocumented in source. Be warned that the author may not have intended to support it.
executeMainThreadTasks
void executeMainThreadTasks()
Undocumented in source. Be warned that the author may not have intended to support it.
getTasksCount
int getTasksCount()
Undocumented in source. Be warned that the author may not have intended to support it.
isIdle
bool isIdle()
Undocumented in source. Be warned that the author may not have intended to support it.
notifyOnFinish
void delegate(string name) notifyOnFinish(void delegate(string taskName) onFinish)
Undocumented in source. Be warned that the author may not have intended to support it.
notifyOnFinishOnMainThread
void delegate(string name) notifyOnFinishOnMainThread(void delegate(string taskName) onFinish, bool finished)
Undocumented in source. Be warned that the author may not have intended to support it.
onHipThreadError
void onHipThreadError(HipWorkerThread worker, string jobName, bool isError, string message)
Undocumented in source. Be warned that the author may not have intended to support it.
pollFinished
void pollFinished()
Undocumented in source. Be warned that the author may not have intended to support it.
pushTask
HipWorkerThread pushTask(string name, void delegate() task, void delegate(string taskName) onTaskFinish, bool isOnFinishOnMainThread)

Adds a task to the pool. If no idle worker is available, the task is executed on the main thread. Keep in mind that pushin task is not enough. You need to call startWorking() to make it active after pushing tasks

startWorking
void startWorking()

This function should be called every time you push a task.

Variables

awaitSemaphore
Semaphore awaitSemaphore;
Undocumented in source.
finishHandlersOnMainThread
void delegate()[] finishHandlersOnMainThread;
Undocumented in source.
handlersMutex
DebugMutex handlersMutex;
Undocumented in source.
onAllTasksFinishHandlers
void delegate()[] onAllTasksFinishHandlers;
Undocumented in source.
threads
HipWorkerThread[] threads;
Undocumented in source.

Meta